Phase-locked loops (PLLs) operate in communication systems, control systems, and storage systems such as disk drives, to synchronize signals such as clock signals with data in data signals. In a disk drive, for example, a read head reads data from a disk as an analog signal and an analog to digital (A/D) converter then converts the analog signal to a digital signal to reproduce the stored data. A PLL is used to synchronize the clock signal that controls the sampling of the analog signal by the A/D converter so the sampling times correspond to the locations of data bits in the analog signal.
An analog signal that is generated by reading data from a high density disk generally exhibits a low signal to noise ratio (SNR). Therefore, precise synchronization between the A/D converter's clock signal and the locations of the data bits in the analog signal is needed in order to accurately extract the data.
FIG. 1 illustrates a general system block diagram of a typical prior art PLL 10 that is commonly used in disk drives. The PLL 10 includes an A/D converter 12 that samples the analog input signal 11 and produces corresponding digital values. The A/D converter 12 is coupled to a phase detector 14 which operates in a known manner to generate a phase error signal 15 that corresponds to the phase difference between the analog input signal 11 and the clock signal 18 for the A/D converter 12. The phase error signal 15 is then filtered by PLL filters 20 and combined to produce a loop error signal 22 that is then used to control a numerically controlled oscillator (NCO) 24. The NCO 24, in turn, controls the frequency and phase of the A/D clock signal 18, that is, adjusts the clock signal, to minimize the loop error signal 22.
The PLL filters 20 utilize coefficients, to weight the respective phase errors 15, and thus control how the PLL 10 responds to errors. The coefficients typically include a phase coefficient (alpha) 26 which affects phase adjustments of the clock signal 18 and a frequency coefficient (beta) 28 which affects frequency adjustments of the clock signal 18.
An illustrative second order PLL filter as known in the prior art is shown in FIG. 2. The phase error signal 15 is filtered by a filter portion 21 to provide a filtered phase error signal 23. The filtered phase error signal is applied to delay circuitry 25 to produce the loop error signal 22.
Optimization of a PLL involves selection of optimal coefficients for the PLL filters. The coefficients can be optimized for fast signal acquisition or for accurate tracking. It is known to employ time-varying coefficients which define an acquisition period and a tracking period of PLL operation. During the acquisition period, acquisition mode phase coefficients are used for a predetermined time or until an error signal falls below a predetermined threshold. The tracking period then begins during which tracking mode coefficients are used in the PLL filters.
It is known that state space methods in general and Kalman filtering techniques in particular can be used to design and analyze synchronizers or PLLs. More specifically, Kalman filtering theory enables us to derive optimal synchronizer structures for a given phase disturbance model, generate time varying and steady state filter coefficients, and calculate the time varying performance of the synchronizer. Usually, the filter coefficients and the performance measure are found recursively using the Kalman recursions.
Optimal or nearly optimal time varying PLL coefficients can be determined using the Kalman filtering methods. To determine PLL coefficients using the Kalman methods, a recursive computing algorithm is required. The recursive algorithm generates PLL coefficients in real time as a function of the sample time k according to Kalman theory. These methods of producing the PLL filter coefficients, however, generally require a large amount of memory and/or complex logic circuitry, and they are expensive for use in certain systems such as computer disk drives.
A known inexpensive method for implementing a PLL in some applications such as disk drive systems requires only a single phase coefficient (alpha) and a single frequency coefficient (beta) in an acquisition mode and another phase coefficient (alpha) and frequency coefficient (beta) in a tracking mode. The acquisition mode coefficients are selected for fast and coarse adjustments of the clock signal. After a predetermined period of time (i.e. a predetermined number, k, of clock pulses) has elapsed, the tracking mode coefficients are substituted for the acquisition mode coefficients. The tracking mode coefficients are typically selected to provide highly accurate phase adjustments.
FIG. 3 is a graph 300 of phase coefficients (alpha) 302 of a PLL versus sample time (k) 304 for an example of this method. A first coefficient 306 is used during an acquisition mode period 308 and another coefficient 210 is used during a tracking mode period 312. The use of one coefficient 306 in an acquisition mode period and another coefficient 310 in the tracking mode period results in sub-optimal filter performance, as compared with the use of the time varying coefficients calculated using Kalman methods. In addition, discontinuity 314 between PLL coefficients at the transition between acquisition mode 308 and tracking mode 312 further degrades performance of the PLL.
Other relatively inexpensive methods of generating PLL coefficients divide the acquisition and tracking periods into multiple regions and use different PLL coefficients for each region. In other words, instead of dividing the operating period of a PLL into only two intervals (acquisition and tracking), three or more intervals are defined. The lengths of and/or the coefficient values associated with each interval are programmable but constant.
FIG. 4 is a graph 400 of phase coefficients (alpha) 402 versus sample time (k) 404, for a PLL wherein the acquisition and tracking periods are divided into multiple regions as described above. While the additional regions and coefficient values better approximate optimal time varying coefficients, there is still a difference between the coefficient profile 406 and the time-varying coefficient profile that is produced by the Kalman predictor. Further, the coefficient profile 406 still includes discontinuities that adversely affect performance.
Accordingly, what is needed is an inexpensive method of producing coefficients that better approximate the coefficients that are predicted by Kalman theory.